package com.debao.system.domain;

import java.util.Date;

import com.debao.common.annotation.Excels;
import com.debao.system.domain.vo.EasyCoach;
import com.debao.system.domain.vo.EasyCourseCard;
import com.debao.system.domain.vo.EasyUser;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.debao.common.annotation.Excel;
import com.debao.common.core.domain.BaseEntity;

/**
 * 课程签到对象 sign_in
 *
 * @author DeBao
 * @date 2024-07-19
 */
@Data
@Accessors(chain = true)
public class SignIn {

    /**
     * ID
     */
    private Long id;

    /**
     * 签到用户
     */
    private Long userId;

    /**
     * 签到日期【唯一索引用】
     */
    @Excel(name = "签到日期", type = Excel.Type.EXPORT, sort = 6,dateFormat = "yyyy-MM-dd")
    private String date;

    /**
     * 签到时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "签到时间", type = Excel.Type.EXPORT, sort = 7,dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signAt;

    /**
     * 课程卡ID
     */
    private Long courseCardId;

    /**
     * 教练ID
     */
    private Long coachId;

    /**
     * 拍摄的照片
     */

    @Excel(name = "拍摄的照片", type = Excel.Type.EXPORT, sort = 8 ,cellType = Excel.ColumnType.IMAGE)
    private String image;

    /**
     * 是否删除 Y N
     */
    private String isDel;

    /**
     * 教练实体
     */

    @Excel(name = "教练", targetAttr = "name", type = Excel.Type.EXPORT, sort = 1)
    private EasyCoach easyCoach;

    /**
     * 课程实体
     */

    @Excel(name = "课程名称", targetAttr = "name", type = Excel.Type.EXPORT, sort = 4)
    private EasyCourseCard easyCourseCard;


    /**
     * 用户实体
     */
    @Excels({
            @Excel(name = "客户姓名", targetAttr = "nickName", type = Excel.Type.EXPORT, sort = 2),
            @Excel(name = "用户手机号", targetAttr = "phonenumber", type = Excel.Type.EXPORT, sort = 3)
    })
    private EasyUser easyUser;


}
